The present invention relates generally to cache management and more particularly to cache management in a Remote Direct Memory Access (RDMA) data store.
RDMA is a data computing technique whereby data is fetched directly out of a host computer's memory and directly placed into the memory of a client without requiring the processor of the host computer to process the read request. In this manner, RDMA allows for bypassing the operating system of the host computer and avoids intermediate data copies in memory of the host computer. Accordingly, RDMA significantly reduces the load on the processor of the host computer for large data transfers and provides high throughput with low latency.
Resource reclamation of the cache is typically achieved by evicting or purging key/value items that are no longer relevant. The relevancy of a key/value item stored in the cache may be determined based on the frequency rate at which a particular key/value item is accessed. However, one consequence resulting from RDMA for cache data storage is that the host computer is not made aware of the accesses conducted by clients. Thus, it is not possible for the host computer to track how frequently each of the data items stored in the cache are accessed. This lack of information can lead to the host computer performing undesired evictions of data items from the cache if traditional cache management algorithms, e.g., LRU, CLOCK, are used. That is, the host computer may not be aware of the frequency rate at which one or more clients receive requests to fetch one or more particular key/value items in the cache. Therefore, the host computer may not be able to properly determine a proper lease time for the key/value items stored in the cache. Consequently, lease terms may be inappropriately defined, i.e., may be too short or too long. To compensate for the lack of information, some solutions instruct computers to inform the host computer of all cache data accesses. However, this approach generates a large number of messages that need to be processed by the host computer causing significant reduction in the performance benefits of RDMA.